import config from '../config'
import { createId, normalizeModel } from '../utils'
import WidgetBox from './WidgetBox'
import { FillRadioType } from '../types'

/** 单、多选控件选项 */
export default class CheckOption extends WidgetBox {
  constructor(raw: Partial<CheckOption>) {
    super()

    const data = normalizeModel(raw) as typeof raw

    Object.assign(this, data)
  }

  /** 组件唯一 key */
  key = createId()

  /** 选项文本 */
  label = ''

  /** 是否勾选 */
  value = false

  /** 宽度 */
  w = config.checkOption.width

  /** 高度 */
  h = config.checkOption.height

  /** 单选按钮展示类型 */
  type?: FillRadioType
}
